package com.pktechan.api.dao;

import com.pktechan.api.base.BaseMapper;
import com.pktechan.api.sendMiniMessage.bean.*;
import org.springframework.stereotype.Repository;

/**
 * @program: cloudfloating
 * @description: 消息模板DAO接口
 * @author: qx.zhang
 * @create: 2021-03-05 12:51
 **/
@Repository("sendMessageMapper")
public interface SendMessageMapper extends BaseMapper {
    /**
     * 获取订单配送消息通知
     *
     * @param tradeOrderId
     * @return
     */
    CustomerOrderDeliveryBeginMessage getCustomerOrderDeliveryMessage(Integer tradeOrderId);

    /**
     * 获取订单配送完成消息通知
     *
     * @param tradeOrderId
     * @return
     */
    CustomerDeliveryCompleteMessage getCustomerOrderDeliveryCompleteMessage(Integer tradeOrderId);

    /**
     * 获取会员绑定成功消息通知
     *
     * @param custId
     * @return
     */
    CustomerBindingSuccessMessage getCustomerBindingSuccessMessage(Integer custId);

    /**
     * 获取业绩消息通知
     *
     * @param tradeOrderId
     * @return
     */
    ReferencesOrderMessage getReferencesOrderMessage(Integer tradeOrderId);

    /**
     * 获取订单转让通知
     *
     * @param tradeOrderId
     * @return
     */
    DistributorOrderTransferApplyMessage getDistributorOrderTransferApplyMessage(Integer tradeOrderId);

    /**
     * 查询配送商发货提醒消息通知
     *
     * @param tradeOrderId
     * @return
     */
    DistributorOrderDeliverRemindMessage getDistributorOrderDeliverRemindMessage(Integer tradeOrderId);

    /**
     * 查询厂家接收-客户-完成支付-订单支付成功通知
     *
     * @param tradeOrderId
     * @return
     */
    FactoryOrderPayMessage getFactoryOrderPayMessage(Integer tradeOrderId);

    /**
     * 厂家接收-配送商-完成配送-配送完成通知
     *
     * @param tradeOrderId
     * @return
     */
    FactoryDeliveryCompleteMessage getFactoryDeliveryCompleteMessage(Integer tradeOrderId);

    /**
     * 厂家接收-配送商-已接单-订单派送提醒
     *
     * @param tradeOrderId
     * @return
     */
    FactoryOrderDeliveryMessage getFactoryOrderDeliveryMessage(Integer tradeOrderId);

    /**
     * 厂家接收-配送商-订单转让确认-订单配送通知
     *
     * @param tradeOrderId
     * @return
     */
    FactoryOrderTransferConfirmMessage getFactoryOrderTransferConfirmMessage(Integer tradeOrderId);

    /**
     * 厂家接收-推荐人-佣金提现-提现申请通知
     *
     * @param commissionWithdrawFlowId
     * @return
     */
    FactoryReferrerCommissionApplyMessage getFactoryReferrerCommissionApplyMessage(Integer commissionWithdrawFlowId);

    /**
     * 厂家接收-配送商-运费提现-提现申请通知
     *
     * @param custCarriageFlowId
     * @return
     */
    FactoryCarriageApplyMessage getFactoryCarriageApplyMessage(Integer custCarriageFlowId);

    /**
     * 推荐人接收-客户-完成支付-推荐人业绩待确认-好友下单成功通知
     *
     * @param tradeOrderId
     * @return
     */
    ReferencesOrderPayMessage getReferencesOrderPayMessage(Integer tradeOrderId);
}
